package com.qf.common.core.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 天--道--酬--勤
 *
 * @author LiangGaoQiang
 * @ClassName User
 * @Date: 2025/5/21 15:44
 * @Description: 描述
 */
@Data
@TableName("user")

public class User {
    @TableId(type = IdType.AUTO)
    // 用户id
    private Integer id;

    @NotNull(message = "用户名不能为空")
    @Size(min = 3, max = 10, message = "用户名长度必须在3-10之间")
    // 用户名
    private String username;

    @NotNull(message = "密码不能为空")
    @Size(min = 6, max = 32, message = "密码长度必须在6-32之间")
    // 密码
    private String password;

    @NotNull(message = "手机号不能为空")
    @Size(min = 11, max = 11, message = "手机号长度必须为11位")
    // 手机号
    private String phone;

    // 真实姓名
    private String realName;

    // 性别
    private String gender;

    // 身份证号
    private String identityCard;

    // 出生日期
    private Date birth;

    // 地址
    private Integer pid;

    // 头像
    private String avatar;

    // 邮箱
    @Email(message = "请输入有效的邮箱地址")
    private String email;

    // 邀请码
    private String inviteCode;

    // 注册时间
    private Date createTime;

    // 更新时间
    private Date updateTime;

    // 昵称
    private String nickName;

    // 积分
    private Integer points;

    // 最后一次签到时间
    private Date lastSignInDate;
}
